package org.bultreebank.document_repository.interfaces;

import org.w3c.dom.Document;

/**
 * This interface if implemented manipulates the Document Repository
 * @author Aneliya Tincheva
 *
 */
public interface StorageManager {
	
	/**
	 * Retrieves the document with the specified docID from the
	 * Document Repository
	 * @param docID - document identifier
	 * @return
	 * @throws Exception
	 */
	public Document retrieveDocument(String docID) throws Exception;
	
	/**
	 * Removes a document with the specified docID from the Document
	 * Repository 
	 * @param docID - document identifier
	 * @throws Exception
	 */
	public void removeDocument(String docID) throws Exception;
	
	/**
	 * Adds a document with the specified docId to the Document Repository
	 * @param docID - document identifier
	 * @param doc - document content
	 * @throws Exception
	 */
	public void addDocument(String docID, Document doc) throws Exception;
}
